브라운필드 소프트웨어 개발
- 2025-11-02
- 별칭: 브라운필드 시스템, 브라운필드, Brownfield
현대의 소프트웨어 프로젝트는 여러 기존 시스템에 대한 의존성이 존재하기 때문에 “그린필드”처럼 개발해서는 안되고 “브라운필드”임을 가정하고 개발을 하는 게 바람직하다는 주장. “브라운필드 소프트웨어 개발”이란 그러한 가정 하에서의 소프트웨어 개발 방법론을 말한다.
일상에서의 변용
일상에서는 보통 “브라운필드 프로젝트” 또는 “브라운필드 시스템”이라는 식으로 쓰이며 그 뜻도 (내가 그동안 느낀 바로는) 레거시 시스템과 유사한 의미로 바뀌어 쓰이는 것 같다.
도시공학에서의 의미
Brownfield is previously developed land that has been abandoned or underused, and which may carry pollution, or a risk of pollution, from industrial use. —Wikipedia
소프트웨어공학에서의 차용
2008년에 Eating the IT Elephant에서 제안:
IT systems are generally not implemented on Greenfields any more. The accumulated complexity since 1964 (IBM’s System/360) means that the environment for most big IT projects is one of immense challenge, entangled in an almost uncountable number of environmental constraints.
This is the underlying reason for the demise of most large-scale IT projects. …
Big projects are usually executed on “contaminated” sites, where you need to be careful of where and how you build; a change in one place can ripple through to other systems in unexpected ways. Such sites are more brown than green, and the IT industry needs to adopt a Brownfield-oriented approach to address them successfully.